package com.zerui.manager.web.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.sql.Time;
import java.time.LocalDateTime;
/**
 * @Author wh
 * @create_time 2023-05-31 16:16
 */
@Data
@JsonInclude
public class DevicePageVO {

	@ApiModelProperty(value="设备id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long deviceId;

	@ApiModelProperty(value="设备名称")
	private String name;

	@ApiModelProperty(value="设备编码")
	private String code;

	@ApiModelProperty(value="所属产品")
	private String type;

	@ApiModelProperty(value="所属产品名称")
	private String typeName;

	@ApiModelProperty(value="所属产品编码")
	private String typeCode;

	@ApiModelProperty(value="设备位置")
	private String position;

	@ApiModelProperty(value = "设备IP地址")
	private String address;

	@ApiModelProperty(value="设备在线离线状态")
	private Integer status;

	@ApiModelProperty("产品类型 1：设备 2: 网关设备 3：子设备")
	private Integer nodeType;

	@ApiModelProperty("产品类型名称")
	private String nodeTypeName;

	@ApiModelProperty(value="设备分组id")
	@JsonFormat(shape = JsonFormat.Shape.STRING)
	private Long orgId;

	@ApiModelProperty(value="设备分组")
	private String groupName;

	@ApiModelProperty(value="运行状态 0：正常，1：告警")
	private Integer runStatus;

	@ApiModelProperty(value="启用状态 0：启用，1：禁用")
	private Integer enableStatus;

	@ApiModelProperty("进出方向 0：进 1：出")
	private Integer access;

	@JsonFormat(shape = JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
	@ApiModelProperty(value="上报时间")
	private LocalDateTime createTime;

	@ApiModelProperty(value = "是否支持开门")
	private Boolean openDoor = true;

	@ApiModelProperty(value = "是否支持常开")
	private Boolean normallyOpen = true;

	@ApiModelProperty(value = "是否支持常闭")
	private Boolean normallyOff = true;

	@ApiModelProperty(value = "是否支持关闭")
	private Boolean normallyClose = true;

	/**
	 * 前端控制 高级按钮回显
	 */
	@ApiModelProperty("结束时间")
	private Time endTime;

	@ApiModelProperty("开始时间")
	private Time startTime;

	@ApiModelProperty("定时任务开关 0：开 1：关")
	private Integer timedTaskStatus;

	@ApiModelProperty("定时任务开关 0：开 1：关")
	private String curfewStatus;
}
